# near model CODE resource # jump table entries: 0-9 (10 of them) 00000000 0000 0000 ori.b D0, 0x0 00000004 0000 008A ori.b D0, 0x8A export_0: 00000008 4278 0A4A clr.w [0x00000A4A /* FPState */] 0000000C 9DCE sub.l A6, A6 0000000E 2C3C 5354 5253 move.l D6, 0x53545253 /* 'STRS' */ 00000014 4EBA 037C jsr [PC + 0x37C /* 00000392 */] 00000018 41FA FFE6 lea.l A0, [PC - 0x1A /* 00000000, value 0x0, cstring "" */] 0000001C 208C move.l [A0], A4 0000001E 4EBA 007C jsr [PC + 0x7C /* 0000009C */] 00000022 4EBA 02A2 jsr [PC + 0x2A2 /* 000002C6 */] 00000026 4267 clr.w -[A7] 00000028 4879 0000 FFFF push.l 0xFFFF 0000002E 486F 0004 pea.l [A7 + 0x4] 00000032 4857 pea.l [A7] 00000034 3F3C 0001 move.w -[A7], 0x1 00000038 223A FFCA move.l D1, [PC - 0x36 /* 00000004, value 0x8A, cstring "" */] 0000003C 4EB5 1000 jsr [A5 + D1.w] 00000040 A9F4 syscall ExitToShell 00000042 4EBA 0334 jsr [PC + 0x334 /* 00000378 */] 00000046 4EBA 02AE jsr [PC + 0x2AE /* 000002F6 */] 0000004A 4E75 rts 0000004C 48E7 FFF8 movem.l -[A7], D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4 00000050 3E2F 003C move.w D7, [A7 + 0x3C] 00000054 50F8 0A5E st [0x00000A5E /* ResLoad */] 00000058 598F subq.l A7, 4 0000005A 2F3C 434F 4445 move.l -[A7], 0x434F4445 /* 'CODE' */ 00000060 3F07 move.w -[A7], D7 00000062 A9A0 syscall GetResource 00000064 201F move.l D0, [A7]+ 00000066 6730 beq +0x32 /* 00000098 */ 00000068 2640 movea.l A3, D0 0000006A 2453 movea.l A2, [A3] 0000006C 0892 0007 bclr.b [A2], 0x7 00000070 6720 beq +0x22 /* 00000092 */ 00000072 4EBA 0098 jsr [PC + 0x98 /* 0000010C */] 00000076 A029 syscall HLock 00000078 598F subq.l A7, 4 0000007A 2F3C 4352 454C move.l -[A7], 0x4352454C /* 'CREL' */ 00000080 3F07 move.w -[A7], D7 00000082 A9A0 syscall GetResource 00000084 4EBA 0098 jsr [PC + 0x98 /* 0000011E */] 00000088 201F move.l D0, [A7]+ 0000008A 670C beq +0xE /* 00000098 */ 0000008C 2040 movea.l A0, D0 0000008E 4EBA 0058 jsr [PC + 0x58 /* 000000E8 */] label00000092: 00000092 4CDF 1FFF movem.l D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4, [A7]+ 00000096 4E75 rts label00000098: 00000098 700F moveq.l D0, 0x0F 0000009A A9C9 syscall SysError fn0000009C: 0000009C 598F subq.l A7, 4 0000009E 2F3C 5A45 524F move.l -[A7], 0x5A45524F /* 'ZERO' */ 000000A4 4267 clr.w -[A7] 000000A6 A9A0 syscall GetResource 000000A8 2457 movea.l A2, [A7] 000000AA 598F subq.l A7, 4 000000AC 2F3C 4441 5441 move.l -[A7], 0x44415441 /* 'DATA' */ 000000B2 4267 clr.w -[A7] 000000B4 A9A0 syscall GetResource 000000B6 2057 movea.l A0, [A7] 000000B8 2050 movea.l A0, [A0] 000000BA 2278 0908 movea.l A1, [0x00000908 /* CurStackBase */] 000000BE 2452 movea.l A2, [A2] 000000C0 600E bra +0x10 /* 000000D0 */ label000000C2: 000000C2 32D8 move.w [A1]+, [A0]+ 000000C4 660A bne +0xC /* 000000D0 */ 000000C6 321A move.w D1, [A2]+ 000000C8 6002 bra +0x4 /* 000000CC */ label000000CA: 000000CA 4219 clr.b [A1]+ label000000CC: 000000CC 51C9 FFFC dbf D1, -0x6 /* 000000CA */ label000000D0: 000000D0 BBC9 cmpa.l A5, A1 000000D2 66EE bne -0x10 /* 000000C2 */ 000000D4 A9A3 syscall ReleaseResource 000000D6 A9A3 syscall ReleaseResource 000000D8 598F subq.l A7, 4 000000DA 2F3C 4452 454C move.l -[A7], 0x4452454C /* 'DREL' */ 000000E0 4267 clr.w -[A7] 000000E2 A9A0 syscall GetResource 000000E4 205F movea.l A0, [A7]+ 000000E6 244D movea.l A2, A5 fn000000E8: 000000E8 A025 syscall GetHandleSize 000000EA 2F08 move.l -[A7], A0 000000EC 2050 movea.l A0, [A0] 000000EE E240 asr D0.w, 1 000000F0 6012 bra +0x14 /* 00000104 */ label000000F2: 000000F2 240D move.l D2, A5 000000F4 3218 move.w D1, [A0]+ 000000F6 0881 0000 bclr.b D1, 0x0 000000FA 6704 beq +0x6 /* 00000100 */ 000000FC 243A FF02 move.l D2, [PC - 0xFE /* 00000000, value 0x0, cstring "" */] label00000100: 00000100 D5B2 1000 add.l [A2 + D1.w], D2 label00000104: 00000104 51C8 FFEC dbf D0, -0x16 /* 000000F2 */ 00000108 A9A3 syscall ReleaseResource 0000010A 4E75 rts fn0000010C: 0000010C 204B movea.l A0, A3 0000010E 4A78 028E tst.w [0x0000028E /* ROM85 */] 00000112 6A04 bpl +0x6 /* 00000118 */ 00000114 1613 move.b D3, [A3] 00000116 4E75 rts label00000118: 00000118 A069 syscall HGetState 0000011A 1600 move.b D3, D0 0000011C 4E75 rts fn0000011E: 0000011E 4A78 028E tst.w [0x0000028E /* ROM85 */] 00000122 6A04 bpl +0x6 /* 00000128 */ 00000124 1683 move.b [A3], D3 00000126 4E75 rts label00000128: 00000128 204B movea.l A0, A3 0000012A 1003 move.b D0, D3 0000012C A06A syscall HSetState 0000012E 4E75 rts export_1: 00000130 205F movea.l A0, [A7]+ 00000132 3218 move.w D1, [A0]+ label00000134: 00000134 3418 move.w D2, [A0]+ 00000136 B058 cmp.w D0, [A0]+ 00000138 57C9 FFFA dbeq D1, -0x8 /* 00000134 */ 0000013C 4A42 tst.w D2 label0000013E: 0000013E 67FE beq -0x0 /* 0000013E */ 00000140 4EF0 20FC jmp [A0 + D2.w - 0x4] export_2: 00000144 205F movea.l A0, [A7]+ 00000146 3218 move.w D1, [A0]+ label00000148: 00000148 3418 move.w D2, [A0]+ 0000014A B098 cmp.l D0, [A0]+ 0000014C 57C9 FFFA dbeq D1, -0x8 /* 00000148 */ 00000150 4A42 tst.w D2 label00000152: 00000152 67FE beq -0x0 /* 00000152 */ 00000154 4EF0 20FA jmp [A0 + D2.w - 0x6] export_3: 00000158 205F movea.l A0, [A7]+ 0000015A 3218 move.w D1, [A0]+ 0000015C 3418 move.w D2, [A0]+ 0000015E B042 cmp.w D0, D2 00000160 6E0A bgt +0xC /* 0000016C */ 00000162 9041 sub.w D0, D1 00000164 6D06 blt +0x8 /* 0000016C */ 00000166 D040 add.w D0, D0 00000168 41F0 0002 lea.l A0, [A0 + D0.w + 0x2] label0000016C: 0000016C 3010 move.w D0, [A0] label0000016E: 0000016E 67FE beq -0x0 /* 0000016E */ 00000170 4EF0 0000 jmp [A0 + D0.w] export_4: 00000174 202F 0004 move.l D0, [A7 + 0x4] 00000178 2F41 0004 move.l [A7 + 0x4], D1 0000017C 222F 0008 move.l D1, [A7 + 0x8] 00000180 2F5F 0004 move.l [A7 + 0x4], [A7]+ 00000184 48E7 3C00 movem.l -[A7], D2,D3,D4,D5 00000188 2400 move.l D2, D0 0000018A 2601 move.l D3, D1 0000018C 4842 swap.w D2 0000018E C4C3 mulu.w D2, D3 00000190 2800 move.l D4, D0 00000192 2A01 move.l D5, D1 00000194 4845 swap.w D5 00000196 C8C5 mulu.w D4, D5 00000198 D444 add.w D2, D4 0000019A 4842 swap.w D2 0000019C 4242 clr.w D2 0000019E C0C1 mulu.w D0, D1 000001A0 D082 add.l D0, D2 000001A2 4CDF 003C movem.l D2,D3,D4,D5, [A7]+ 000001A6 221F move.l D1, [A7]+ 000001A8 4E75 rts export_5: 000001AA 202F 0004 move.l D0, [A7 + 0x4] 000001AE 2F41 0004 move.l [A7 + 0x4], D1 000001B2 222F 0008 move.l D1, [A7 + 0x8] 000001B6 2F5F 0004 move.l [A7 + 0x4], [A7]+ 000001BA 48E7 3100 movem.l -[A7], D2,D3,D7 000001BE 4EBA 009C jsr [PC + 0x9C /* 0000025C */] 000001C2 4CDF 008C movem.l D2,D3,D7, [A7]+ 000001C6 221F move.l D1, [A7]+ 000001C8 4E75 rts export_6: 000001CA 202F 0004 move.l D0, [A7 + 0x4] 000001CE 2F41 0004 move.l [A7 + 0x4], D1 000001D2 222F 0008 move.l D1, [A7 + 0x8] 000001D6 2F5F 0004 move.l [A7 + 0x4], [A7]+ 000001DA 48E7 3100 movem.l -[A7], D2,D3,D7 000001DE 4EBA 007C jsr [PC + 0x7C /* 0000025C */] 000001E2 2001 move.l D0, D1 000001E4 4CDF 008C movem.l D2,D3,D7, [A7]+ 000001E8 221F move.l D1, [A7]+ 000001EA 4E75 rts export_7: 000001EC 202F 0004 move.l D0, [A7 + 0x4] 000001F0 2F41 0004 move.l [A7 + 0x4], D1 000001F4 222F 0008 move.l D1, [A7 + 0x8] 000001F8 2F5F 0004 move.l [A7 + 0x4], [A7]+ 000001FC 48E7 3100 movem.l -[A7], D2,D3,D7 00000200 4EBA 002C jsr [PC + 0x2C /* 0000022E */] 00000204 4CDF 008C movem.l D2,D3,D7, [A7]+ 00000208 221F move.l D1, [A7]+ 0000020A 4E75 rts export_8: 0000020C 202F 0004 move.l D0, [A7 + 0x4] 00000210 2F41 0004 move.l [A7 + 0x4], D1 00000214 222F 0008 move.l D1, [A7 + 0x8] 00000218 2F5F 0004 move.l [A7 + 0x4], [A7]+ 0000021C 48E7 3100 movem.l -[A7], D2,D3,D7 00000220 4EBA 000C jsr [PC + 0xC /* 0000022E */] 00000224 2001 move.l D0, D1 00000226 4CDF 008C movem.l D2,D3,D7, [A7]+ 0000022A 221F move.l D1, [A7]+ 0000022C 4E75 rts fn0000022E: 0000022E 4A80 tst.l D0 00000230 6A1C bpl +0x1E /* 0000024E */ 00000232 4A81 tst.l D1 00000234 6A0C bpl +0xE /* 00000242 */ 00000236 4480 neg.l D0 00000238 4481 neg.l D1 0000023A 4EBA 0020 jsr [PC + 0x20 /* 0000025C */] 0000023E 4481 neg.l D1 00000240 4E75 rts label00000242: 00000242 4480 neg.l D0 00000244 4EBA 0016 jsr [PC + 0x16 /* 0000025C */] 00000248 4480 neg.l D0 0000024A 4481 neg.l D1 0000024C 4E75 rts label0000024E: 0000024E 4A81 tst.l D1 00000250 6A0A bpl +0xC /* 0000025C */ 00000252 4481 neg.l D1 00000254 4EBA 0006 jsr [PC + 0x6 /* 0000025C */] 00000258 4480 neg.l D0 0000025A 4E75 rts fn0000025C: 0000025C 2E3C 0000 FFFF move.l D7, 0xFFFF 00000262 B280 cmp.l D1, D0 00000264 6306 bls +0x8 /* 0000026C */ 00000266 2200 move.l D1, D0 00000268 7000 moveq.l D0, 0x00 0000026A 4E75 rts label0000026C: 0000026C B087 cmp.l D0, D7 0000026E 620C bhi +0xE /* 0000027C */ 00000270 80C1 divu.w D0, D1 00000272 4840 swap.w D0 00000274 3200 move.w D1, D0 00000276 4240 clr.w D0 00000278 4840 swap.w D0 0000027A 4E75 rts label0000027C: 0000027C B287 cmp.l D1, D7 0000027E 621A bhi +0x1C /* 0000029A */ 00000280 2E00 move.l D7, D0 00000282 4240 clr.w D0 00000284 4840 swap.w D0 00000286 80C1 divu.w D0, D1 00000288 4840 swap.w D0 0000028A 4847 swap.w D7 0000028C 3E00 move.w D7, D0 0000028E 4847 swap.w D7 00000290 8EC1 divu.w D7, D1 00000292 3007 move.w D0, D7 00000294 4847 swap.w D7 00000296 3207 move.w D1, D7 00000298 4E75 rts label0000029A: 0000029A 2400 move.l D2, D0 0000029C 2601 move.l D3, D1 label0000029E: 0000029E E288 lsr D0, 1 000002A0 E289 lsr D1, 1 000002A2 B287 cmp.l D1, D7 000002A4 62F8 bhi -0x6 /* 0000029E */ 000002A6 80C1 divu.w D0, D1 000002A8 C087 and.l D0, D7 label000002AA: 000002AA 3203 move.w D1, D3 000002AC C2C0 mulu.w D1, D0 000002AE 2E03 move.l D7, D3 000002B0 4847 swap.w D7 000002B2 CEC0 mulu.w D7, D0 000002B4 4847 swap.w D7 000002B6 D287 add.l D1, D7 000002B8 6508 bcs +0xA /* 000002C2 */ 000002BA 9282 sub.l D1, D2 000002BC 6204 bhi +0x6 /* 000002C2 */ 000002BE 4481 neg.l D1 000002C0 4E75 rts label000002C2: 000002C2 5340 subq.w D0, 1 000002C4 60E4 bra -0x1A /* 000002AA */ fn000002C6: 000002C6 323C A9F0 move.w D1, 0xA9F0 000002CA 43FA FD80 lea.l A1, [PC - 0x280 /* 0000004C, value 0x48E7FFF8 */] 000002CE 4EBA 0068 jsr [PC + 0x68 /* 00000338 */] 000002D2 323C A9F2 move.w D1, 0xA9F2 000002D6 43FA FD6E lea.l A1, [PC - 0x292 /* 00000046, value 0x4EBA02AE */] 000002DA 4EBA 005C jsr [PC + 0x5C /* 00000338 */] 000002DE 323C A9F3 move.w D1, 0xA9F3 000002E2 43FA FD62 lea.l A1, [PC - 0x29E /* 00000046, value 0x4EBA02AE */] 000002E6 4EBA 0050 jsr [PC + 0x50 /* 00000338 */] 000002EA 323C A9F4 move.w D1, 0xA9F4 000002EE 43FA FD52 lea.l A1, [PC - 0x2AE /* 00000042, value 0x4EBA0334 */] 000002F2 4EFA 0044 jmp [PC + 0x44 /* 00000338 */] fn000002F6: 000002F6 2F08 move.l -[A7], A0 000002F8 206F 0008 movea.l A0, [A7 + 0x8] 000002FC 2F68 0002 0008 move.l [A7 + 0x8], [A0 + 0x2] 00000302 2078 02A6 movea.l A0, [0x000002A6 /* SysZone */] 00000306 700C moveq.l D0, 0x0C 00000308 D090 add.l D0, [A0] 0000030A B0B8 02AA cmp.l D0, [0x000002AA /* ApplZone */] 0000030E 6624 bne +0x26 /* 00000334 */ 00000310 4EBA 0066 jsr [PC + 0x66 /* 00000378 */] 00000314 323C A9F0 move.w D1, 0xA9F0 00000318 4EBA 003A jsr [PC + 0x3A /* 00000354 */] 0000031C 323C A9F2 move.w D1, 0xA9F2 00000320 4EBA 0032 jsr [PC + 0x32 /* 00000354 */] 00000324 323C A9F3 move.w D1, 0xA9F3 00000328 4EBA 002A jsr [PC + 0x2A /* 00000354 */] 0000032C 323C A9F4 move.w D1, 0xA9F4 00000330 4EBA 0022 jsr [PC + 0x22 /* 00000354 */] label00000334: 00000334 205F movea.l A0, [A7]+ 00000336 4E75 rts fn00000338: 00000338 3001 move.w D0, D1 0000033A A146 syscall GetTrapAddress, flags=1 0000033C 2448 movea.l A2, A0 0000033E 700C moveq.l D0, 0x0C 00000340 A51E syscall NewPtrSys, flags=5 00000342 3001 move.w D0, D1 00000344 A047 syscall SetTrapAddress 00000346 30FC 4EB9 move.w [A0]+, 0x4EB9 0000034A 20C9 move.l [A0]+, A1 0000034C 30FC 4EF9 move.w [A0]+, 0x4EF9 00000350 20CA move.l [A0]+, A2 00000352 4E75 rts fn00000354: 00000354 3001 move.w D0, D1 00000356 A146 syscall GetTrapAddress, flags=1 00000358 2268 0008 movea.l A1, [A0 + 0x8] 0000035C A01F syscall DisposPtr/DisposePtr 0000035E 3001 move.w D0, D1 00000360 2049 movea.l A0, A1 00000362 A047 syscall SetTrapAddress 00000364 4E75 rts 00000366 0000 0000 ori.b D0, 0x0 0000036A 0000 0000 ori.b D0, 0x0 export_9: 0000036E 41FA FFF6 lea.l A0, [PC - 0xA /* 00000366, value 0x0, cstring "" */] 00000372 20AF 0004 move.l [A0], [A7 + 0x4] 00000376 4E75 rts fn00000378: 00000378 41FA FFEC lea.l A0, [PC - 0x14 /* 00000366, value 0x0, cstring "" */] 0000037C 2010 move.l D0, [A0] 0000037E 6706 beq +0x8 /* 00000386 */ 00000380 4290 clr.l [A0] 00000382 2040 movea.l A0, D0 00000384 4E90 jsr [A0] label00000386: 00000386 203A FFE2 move.l D0, [PC - 0x1E /* 0000036A, value 0x0, cstring "" */] 0000038A 6704 beq +0x6 /* 00000390 */ 0000038C 2040 movea.l A0, D0 0000038E 4290 clr.l [A0] label00000390: 00000390 4E75 rts fn00000392: 00000392 7E00 moveq.l D7, 0x00 00000394 51F8 0A5E sf [0x00000A5E /* ResLoad */] 00000398 598F subq.l A7, 4 0000039A 2F06 move.l -[A7], D6 0000039C 3F07 move.w -[A7], D7 0000039E A9A0 syscall GetResource 000003A0 201F move.l D0, [A7]+ 000003A2 6700 00AE beq +0xB0 /* 00000452 */ 000003A6 2640 movea.l A3, D0 000003A8 598F subq.l A7, 4 000003AA 2F0B move.l -[A7], A3 000003AC A9A5 syscall GetResourceSizeOnDisk/SizeResource/SizeRsrc 000003AE 261F move.l D3, [A7]+ 000003B0 200B move.l D0, A3 000003B2 2803 move.l D4, D3 000003B4 5247 addq.w D7, 1 000003B6 EF47 asl D7.w, 7 000003B8 5247 addq.w D7, 1 000003BA 3A07 move.w D5, D7 000003BC 6016 bra +0x18 /* 000003D4 */ label000003BE: 000003BE 598F subq.l A7, 4 000003C0 2F06 move.l -[A7], D6 000003C2 3F07 move.w -[A7], D7 000003C4 A9A0 syscall GetResource 000003C6 201F move.l D0, [A7]+ 000003C8 6700 0088 beq +0x8A /* 00000452 */ 000003CC 5247 addq.w D7, 1 000003CE 0684 0000 7FFE addi.l D4, 0x7FFE label000003D4: 000003D4 558F subq.l A7, 2 000003D6 2F00 move.l -[A7], D0 000003D8 A9A6 syscall GetResAttrs 000003DA 301F move.w D0, [A7]+ 000003DC 0800 0005 btst.b D0, 0x5 000003E0 66DC bne -0x22 /* 000003BE */ 000003E2 50F8 0A5E st [0x00000A5E /* ResLoad */] 000003E6 CF45 exg D7, D5 000003E8 9A47 sub.w D5, D7 000003EA 661C bne +0x1E /* 00000408 */ 000003EC 2003 move.l D0, D3 000003EE A040 syscall ResrvMem/ReserveMem 000003F0 2F0B move.l -[A7], A3 000003F2 A9A2 syscall LoadResource 000003F4 2013 move.l D0, [A3] 000003F6 6700 005A beq +0x5C /* 00000452 */ 000003FA 2F0B move.l -[A7], A3 000003FC A992 syscall DetachResource 000003FE 2853 movea.l A4, [A3] 00000400 204B movea.l A0, A3 00000402 A029 syscall HLock 00000404 7001 moveq.l D0, 0x01 00000406 4E75 rts label00000408: 00000408 2004 move.l D0, D4 0000040A A11E syscall NewPtr, flags=1 0000040C 2008 move.l D0, A0 0000040E 6700 0042 beq +0x44 /* 00000452 */ 00000412 2848 movea.l A4, A0 00000414 2F0B move.l -[A7], A3 00000416 A9A2 syscall LoadResource 00000418 2013 move.l D0, [A3] 0000041A 6700 0036 beq +0x38 /* 00000452 */ 0000041E 204B movea.l A0, A3 00000420 2003 move.l D0, D3 00000422 6018 bra +0x1A /* 0000043C */ label00000424: 00000424 598F subq.l A7, 4 00000426 2F06 move.l -[A7], D6 00000428 3F07 move.w -[A7], D7 0000042A A9A0 syscall GetResource 0000042C 201F move.l D0, [A7]+ 0000042E 6700 0022 beq +0x24 /* 00000452 */ 00000432 5247 addq.w D7, 1 00000434 2040 movea.l A0, D0 00000436 203C 0000 7FFE move.l D0, 0x7FFE label0000043C: 0000043C 2F08 move.l -[A7], A0 0000043E 2050 movea.l A0, [A0] 00000440 224C movea.l A1, A4 00000442 D9C0 add.l A4, D0 00000444 A02E syscall BlockMove/BlockMoveData 00000446 A9A3 syscall ReleaseResource 00000448 51CD FFDA dbf D5, -0x28 /* 00000424 */ 0000044C 99C4 sub.l A4, D4 0000044E 264C movea.l A3, A4 00000450 7001 moveq.l D0, 0x01 label00000452: 00000452 4E75 rts 00000454 204B movea.l A0, A3 00000456 4A45 tst.w D5 00000458 6604 bne +0x6 /* 0000045E */ 0000045A A023 syscall DisposHandle/DisposeHandle 0000045C 4E75 rts label0000045E: 0000045E A01F syscall DisposPtr/DisposePtr 00000460 4E75 rts